[INFO] cloning repository https://github.com/shnmorimoto/rmonkey
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shnmorimoto/rmonkey" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshnmorimoto%2Frmonkey", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshnmorimoto%2Frmonkey'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0dd210bcf83732ae99196e23cc0957d2e75dcc9a
[INFO] checking shnmorimoto/rmonkey against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshnmorimoto%2Frmonkey" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shnmorimoto/rmonkey
[INFO] finished tweaking git repo https://github.com/shnmorimoto/rmonkey
[INFO] tweaked toml for git repo https://github.com/shnmorimoto/rmonkey written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shnmorimoto/rmonkey on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shnmorimoto/rmonkey already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded once_cell v1.7.2
[INFO] [stderr]   Downloaded itertools v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066
[INFO] running `Command { std: "docker" "start" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking rmonkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut statements: Vec<Statement> = vec![];
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]  --> src/ast.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Statement {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]   --> src/ast.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum Expression {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ident` is never constructed
[INFO] [stdout]   --> src/ast.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Ident(pub String);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ast.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Ident {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 72 |     pub fn new(s: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/ast.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ast.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl Program {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 88 |     pub fn new(statements: Vec<Statement>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Precedence` is never used
[INFO] [stdout]  --> src/parser.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Precedence {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_precedence` is never used
[INFO] [stdout]   --> src/parser.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Precedence {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 18 |     fn get_precedence(token: TokenType) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Parser {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:41:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  41 |     fn new(mut lexer: Lexer) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     fn peek_precedence(&self) -> Precedence {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     fn cur_precedence(&self) -> Precedence {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn peek_error(&mut self, t: TokenType) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     fn next_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     fn parse_statement(&mut self) -> Option<Statement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     fn parse_let_statement(&mut self) -> Option<Statement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn parse_return_statement(&mut self) -> Option<Statement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn parse_expression_statement(&mut self) -> Option<Statement> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn parse_expression(&mut self, precdence: Precedence) -> Option<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn parse_grouped_expression(&mut self) -> Option<Expression> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn parse_boolean(&self) -> Expression {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn parse_infix_expression(&mut self, left: &Expression) -> Expression {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn no_prefix_parse_error(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn parse_prefix_expression(&mut self) -> Expression {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     fn parse_identifier(&self) -> Expression {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn parse_integer_literal(&self) -> Expression {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn cur_token_is(&self, t: TokenType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn peek_token_is(&self, t: TokenType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     fn expect_peek(&mut self, t: TokenType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn parser_program(&mut self) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut statements: Vec<Statement> = vec![];
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.78s
[INFO] [stdout] warning: variant `CALL` is never constructed
[INFO] [stdout]   --> src/parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | enum Precedence {
[INFO] [stdout]    |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     CALL,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Precedence` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Str` is never constructed
[INFO] [stdout]    --> src/parser.rs:267:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |     enum TestValue {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] 266 |         Int(i64),
[INFO] [stdout] 267 |         Str(String),
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066", kill_on_drop: false }`
[INFO] [stdout] e159e32d34a74267af88e9cd0d952c0920231d4d75505a7095d185fe8c9c9066
